home *** CD-ROM | disk | FTP | other *** search
/ Mac Easy 2010 May / Mac Life Ubuntu.iso / casper / filesystem.squashfs / usr / src / linux-headers-2.6.28-15 / include / linux / bug.h < prev    next >
Encoding:
C/C++ Source or Header  |  2008-12-24  |  1.1 KB  |  51 lines

  1. #ifndef _LINUX_BUG_H
  2. #define _LINUX_BUG_H
  3.  
  4. #include <linux/module.h>
  5. #include <asm/bug.h>
  6.  
  7. enum bug_trap_type {
  8.     BUG_TRAP_TYPE_NONE = 0,
  9.     BUG_TRAP_TYPE_WARN = 1,
  10.     BUG_TRAP_TYPE_BUG = 2,
  11. };
  12.  
  13. struct pt_regs;
  14.  
  15. #ifdef CONFIG_GENERIC_BUG
  16. #include <asm-generic/bug.h>
  17.  
  18. static inline int is_warning_bug(const struct bug_entry *bug)
  19. {
  20.     return bug->flags & BUGFLAG_WARNING;
  21. }
  22.  
  23. const struct bug_entry *find_bug(unsigned long bugaddr);
  24.  
  25. enum bug_trap_type report_bug(unsigned long bug_addr, struct pt_regs *regs);
  26.  
  27. int  module_bug_finalize(const Elf_Ehdr *, const Elf_Shdr *,
  28.              struct module *);
  29. void module_bug_cleanup(struct module *);
  30.  
  31. /* These are defined by the architecture */
  32. int is_valid_bugaddr(unsigned long addr);
  33.  
  34. #else    /* !CONFIG_GENERIC_BUG */
  35.  
  36. static inline enum bug_trap_type report_bug(unsigned long bug_addr,
  37.                         struct pt_regs *regs)
  38. {
  39.     return BUG_TRAP_TYPE_BUG;
  40. }
  41. static inline int  module_bug_finalize(const Elf_Ehdr *hdr,
  42.                     const Elf_Shdr *sechdrs,
  43.                     struct module *mod)
  44. {
  45.     return 0;
  46. }
  47. static inline void module_bug_cleanup(struct module *mod) {}
  48.  
  49. #endif    /* CONFIG_GENERIC_BUG */
  50. #endif    /* _LINUX_BUG_H */
  51.